TCP的功能主要表现在哪几个方面
TCP的功能主要表现在以下几个方面:
提供面向连接服务:面向连接的传输服务可以很好地保证数据流传输的可靠性。它在进行实际数据流传输之前必须在源进程与目的进程之间建立传输连接。一旦连接建立之后,通信的两个进程就可以在该连接上发送和接收数据流。
提供具有较高可靠性的数据传输:由于TCP是建立在不可靠的网络层IP基础上的,IP不提供任何保证分组可靠传输的机制,因此TCP的可靠性需要由自己来实现。TCP支持数据报传输可靠性的主要方法是报文确认与超时重传。
提供全双工通信:TCP允许全双工通信。在两个应用进程传输连接建立后,客户与服务器进程可以同时发送和接收数据流。TCP在发送和接收方都使用缓存机制,发送缓存用来存储进程准备发送的数据,接收缓存在收到报文段之后,将它们存储在接收缓存中,等待接收进程读取对方传送来的数据。
支持流传输:TCP提供一个流接口(Stream Interface),应用进程可以利用它发送连续的数据流。TCP传输连接提供一个“管道”,保证数据流从一端正确地“流”到另一端。TCP对数据流的内容不作任何解释。TCP不知道传输的数据流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据,对数据流的解释由双方的应用程序处理。
建立与释放可靠的传输连接:为了保证传输连接与释放的可靠性,TCP使用了“三次握手”机制。在传输连接建立阶段,防止出现因“失效的连接请求数据报”而造成连接错误;在释放传输连接时,保证在关闭连接时已经发送的数据报可以全部正确地到达目的端口。
提供流量控制与拥塞控制:TCP采用了大小可以变化的滑动窗口方法进行流量控制。发送窗口大小在建立连接时由双方商定。在通信过程中,发送方可以根据自己的资源情况随机、动态地调整发送窗口的大小,而接收方将跟随发送方调整接收窗口。